// var i;
// var AL_GAME_HUA_AddPrefab = require("./AL_GAME_HUA_AddPrefab");
// var AL_GAME_HUA_Define = require("./AL_GAME_HUA_Define");
// var AL_GAME_HUA_CurrencyData = require("./AL_GAME_HUA_CurrencyData");
// var u = cc._decorator;
// var p = u.ccclass;
// var f =
//     (u.property,
//     u.menu,
//     (function (e) {
//         function t() {
//             var t = (null !== e && e.apply(this, arguments)) || this;
//             t.icon = null;
//             t.label = null;
//             t.button = null;
//             return t;
//         }
//         __extends(t, e);
//         t.prototype.onLoad = function () {
//             var e = this;
//             this.icon = this.node.getChildByName("gold");
//             this.label = this.node.getChildByName("label_number").getComponent(cc.Label);
//             this.button = this.node.getChildByName("addgoldbtn");
//             var t = AL_GAME_HUA_CurrencyData.CurrencyData.getInstance();
//             AL_APP_SDK_MANAGER.on(
//                 AL_GAME_HUA_Define.GameEvent.ON_COIN_CHANGE,
//                 function () {
//                     e.label.string = t.getHave(AL_GAME_HUA_CurrencyData.CurrencyType.COIN).toString();
//                 },
//                 this
//             );
//             this.label.string = t.getHave(AL_GAME_HUA_CurrencyData.CurrencyType.COIN).toString();
//         };
//         t.prototype.onDestroy = function () {
//             AL_APP_SDK_MANAGER.off(this);
//         };
//         t.prototype.handle_event_click_button_add = function () {
//             AL_GAME_HUA_AddPrefab.AddPrefab.create_add_gold();
//         };
//         return __decorate([p], t);
//     })(cc.Component));
// exports.default = f;

// 引入所需模块
const AL_GAME_HUA_AddPrefab = require("./AL_GAME_HUA_AddPrefab");
const AL_GAME_HUA_Define = require("./AL_GAME_HUA_Define");
const AL_GAME_HUA_CurrencyData = require("./AL_GAME_HUA_CurrencyData");

const { ccclass, property, menu } = cc._decorator;

/**
 * 这是一个类，用于处理金币图标、金币数量标签和增加金币按钮的行为
 */
@ccclass
@menu("SomeMenuName") // 请注意，原来的代码中 `menu` 没有被使用，请根据实际需要填入菜单名称
class GameCurrencyDisplay extends cc.Component {
    icon = null; // 金币图标节点
    label = null; // 金币数量标签
    button = null; // 增加金币按钮

    /**
     * 组件加载时调用的方法，初始化节点及事件
     */
    onLoad() {
        this.icon = this.node.getChildByName("gold");
        this.label = this.node.getChildByName("label_number").getComponent(cc.Label);
        this.button = this.node.getChildByName("addgoldbtn");

        const currencyData = AL_GAME_HUA_CurrencyData.CurrencyData.getInstance();

        AL_APP_SDK_MANAGER.on(
            AL_GAME_HUA_Define.GameEvent.ON_COIN_CHANGE,
            () => {
                this.label.string = currencyData.getHave(AL_GAME_HUA_CurrencyData.CurrencyType.COIN).toString();
            },
            this
        );

        this.label.string = currencyData.getHave(AL_GAME_HUA_CurrencyData.CurrencyType.COIN).toString();
    }

    /**
     * 组件销毁时调用，用于注销事件
     */
    onDestroy() {
        AL_APP_SDK_MANAGER.off(this);
    }

    /**
     * 点击增加金币按钮的事件处理
     */
    handle_event_click_button_add() {
        AL_GAME_HUA_AddPrefab.AddPrefab.create_add_gold();
    }
}

exports.default = GameCurrencyDisplay;